/**
* @project admin-go-api
* @name sysRole
* @descriptions 角色相关结构体
* @author 寒锋
* @date 2023-12-20 10:14:28
 */

package entity

import "admin-go-api/common/util"

// SysRole 角色模型
type SysRole struct {
	RoleId      uint       `gorm:"column:role_id;autoIncrement;primaryKey;NOT NULL;comment:'角色id'" json:"role_id"`
	RoleName    string     `gorm:"column:role_name;varchar(64);NOT NULL;default:'';comment:'角色名称'" json:"role_name"`
	RoleKey     string     `gorm:"column:role_key;varchar(64);NOT NULL;default:'';comment:'角色权限字符串'" json:"role_key"`
	Status      int        `gorm:"column:status;NOT NULL;default:1;comment:'帐号启用状态：1->启用,2->禁用'" json:"status"`
	Description string     `gorm:"column:description;varchar(600);default:'';comment:'描述'" json:"description"`
	CreateTime  util.HTime `gorm:"column:create_time;NOT NULL;comment:'创建时间'" json:"create_time"`
}

func (SysRole) TableName() string {
	return "sys_role"
}

// StoreSysRoleDto 添加参数
type StoreSysRoleDto struct {
	RoleName    string `json:"role_name"`   // 角色名称
	RoleKey     string `json:"role_key"`    // 角色key
	Status      int    `json:"status"`      // 状态
	Description string `json:"description"` // 描述
}

// SysRoleIdDto id 参数
type SysRoleIdDto struct {
	RoleId uint `json:"role_id"`
}

// UpdateSysRoleDto 修改参数
type UpdateSysRoleDto struct {
	RoleId      uint   `json:"role_id"`
	RoleName    string `json:"role_name"`   // 角色名称
	RoleKey     string `json:"role_key"`    // 角色key
	Status      int    `json:"status"`      // 状态
	Description string `json:"description"` // 描述
}

// UpdateSysRoleStateDto 修改状态参数
type UpdateSysRoleStateDto struct {
	RoleId uint
	Status int // 状态
}

// SysRoleVo 角色下拉列表
type SysRoleVo struct {
	RoleId   uint   `json:"role_id"`
	RoleName string `json:"role_name"`
}
